package com.fhsk.file.business.entity.dto.attachment;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * 附件表
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("p_attachment")
public class AttachmentDto implements Serializable {
    private static final long serialVersionUID = 1L;


    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文件目标标识
     */
    @TableField("file_oid")
    private String fileOid;

    /**
     * 原文件名
     */
    @TableField("original_name")
    private String originalName;

    /**
     * 新文件名
     */
    @TableField("new_name")
    private String newName;

    /**
     * 文件后缀名
     */
    @TableField("file_ext_name")
    private String fileExtName;

    /**
     * 文件类型
     */
    @TableField("file_type")
    private String fileType;

    /**
     * 文件大小(单位k)
     */
    @TableField("file_size")
    private Long fileSize;

    /**
     * 转换后文件大小(单位k)
     */
    @TableField("file_size_convert")
    private Long fileSizeConvert;

    /**
     * 文件相对路径
     */
    @TableField("file_path")
    private String filePath;

    /**
     * 文件预览路径
     */
    @TableField("preview_path")
    private String previewPath;

    /**
     * 是否加水印：0：否，1：图片，2：文字，3：简单文字水印，4：右下角单独文字水印
     */
    @TableField("is_watermark")
    private Integer isWatermark;

//    /**
//     * 水印类型：1：图片，2：文字
//     */
//    @TableField("watermark_type")
//    private Integer watermarkType;

    /**
     * 水印文字
     */
    @TableField("watermark_text")
    private String watermarkText;

    /**
     * 是否转图片：0：否，1：是
     */
    @TableField("is_change_pic")
    private Integer isChangePic;

    /**
     * 清晰度：1低，2中，3高
     */
    @TableField("clarity")
    private Integer clarity;

    /**
     * 透明度，0表示完全透明，1表示完全不透明，默认透明度是1
     */
    @TableField("opacity")
    private Float opacity;

    /**
     * 字体颜色：1红、2橘、3蓝、4黑
     */
    @TableField("font_color")
    private Integer fontColor;

    /**
     * 排序
     */
    @TableField("sort")
    private Long sort;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;

    /**
     * 创建人
     */
    @TableField("create_by")
    private String createBy;


    /**
     * 更新人
     */
    @TableField("update_by")
    private String updateBy;

    /**
     * 是否需要权限：0：否，1：是
     */
    @TableField("need_auth")
    private Integer needAuth;

}
